home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Shareware World / Comms & Internet / Ross's PB Scripts 8-99 / PB G3 Internal 56K RB.txt < prev    next >
Text File  |  1999-08-26  |  16KB  |  797 lines

  1. !  Apple Internal Modem 56k
  2. !    Author:    OIivier Mardinian (based on Kris Kreutzman's and Apple/GV V.90 Scripts)
  3. !    Modified by Ross Barkman
  4. !
  5. !    Copyright:    © 1991-1998 Apple Computer, Inc.    All Rights Reserved.
  6. !
  7. !    revision history:
  8. !        v1.0    6/22/98        Designed for the iMac, Wallstreet and PDQ
  9. !        26 May 99        Modified to add extra init commands, S10=25 and S202=32
  10. !        24 June 99        Modified to add extra init command, S2=28
  11. !
  12. !  'mlts' resource info for this modem:
  13. !    byte 1 == 01 -> modem HAS built-in error correction protocols
  14. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  15. !    byte 3 == 40 -> max number of chars in varstr 7
  16. !    byte 4 == 40 -> max number of chars in varstr 8
  17. !    byte 5 == 40 -> max number of chars in varstr 9
  18. !    
  19. @ORIGINATE
  20. @ANSWER
  21. ! ---- Initial modem setup ----
  22. ! In originate mode, set serial port speed depending upon the compression flag
  23. ! - A higher rate with compression on (PPP) to handle expanded data from the modem
  24. ! - A lower rate closer to the DCE when compression is off (ARA)
  25. ifstr 5 1 "0"
  26. serreset 115200, 0, 8, 1
  27. jump 2
  28. !
  29. @LABEL 1
  30. serreset 57600, 0, 8, 1
  31. !
  32. @LABEL 2
  33. hsreset 0 0 0 0 0 0
  34. settries 0
  35. !
  36. ! Get the modem's attention
  37. !
  38. matchclr
  39. matchstr 1 3 "OK\13\10"
  40. write "AT\13"
  41. matchread 60
  42. pause 90
  43. !
  44. @LABEL 3
  45. matchclr
  46. matchstr 1 4   "OK\13\10"
  47. matchstr 2 101 "ERROR\13\10"
  48. write "AT&FE0W1Q0V1X4&C1&K3S95=1&D3S7=75S0=0S10=25S202=32S2=28\13"
  49. ! S10=25 increases carrier-loss timeout to 25ms
  50. ! S202=32 changes a high frequency test for greater compatibility with 3Com-based ISPs
  51. ! S2=28 changes the +++ escape sequence, to avoid forced disconnects
  52. !write "AT&FE0W1Q0V1X4&C1&K3S95=1&D3S7=75S0=0\13"  (latest Apple version)
  53. !write "AT&FE0Q0V1X4&C1&K3S95=1S7=75S0=0\13"            (modified on 8/31/98)
  54. !write "AT&FE0W2S95=45S0=0&D3S7=60\13"                    (••••• Original GV script)
  55. matchread 90
  56. inctries
  57. iftries 3 101
  58. !
  59. ! Reset the Modem on setup failure
  60. !
  61. DTRClear
  62. pause 5
  63. DTRSet
  64. flush
  65. pause 90
  66. jump 3
  67. !
  68. !
  69. @LABEL 4
  70. ! Modem now responding and configured for full EC/DC functions.
  71. ! Varstring 4 , reliable link protocol:
  72. !    = 0, handled by computer (ARAP)
  73. !    = 1, handled by modem (PPP)
  74. !    = 2, MNP10 protocol (Cellular protocol, no longer supported)
  75. ! If PPP or Cellular mode, jump to 5, otherwise (ARA) disable EC/DC.
  76. ifstr 4 5 "1"
  77. ifstr 4 5 "2"
  78. !
  79. ! Varstring 4 == 0, turn off reliable link protocol in modem (ARAP)
  80. matchclr
  81. matchstr 1 9 "OK\13\10"
  82. write "AT\\N0\13"
  83. matchread 30
  84. jump 101
  85. !
  86. !
  87. @LABEL 5
  88. ! This is where MNP10 (or MNP10EC) could go, if/when we support that.
  89. ! Standard EC/DC is still on.  Decide whether to turn off DC.
  90. ! Varstring 5, compression protocol:
  91. !    = 0, handled by computer 
  92. !    = 1, handled by modem
  93. ifstr 5 9 "1"
  94. !
  95. ! Varstring 5 == 0, turn off compression protocol in modem.
  96. matchclr
  97. matchstr 1 9 "OK\13\10"
  98. write "AT%C0\13"
  99. matchread 30
  100. jump 101
  101. !
  102. !
  103. @LABEL 9
  104. ! If speaker on flag is true, jump to 13.  Otherwise, turn the speaker off.
  105. ! Varstring 2, modem speaker:
  106. !    = 0, speaker off
  107. !    = 1, speaker on
  108. ifstr 2 13 "1"
  109. pause 5
  110. matchclr
  111. matchstr 1 13 "OK\13\10"
  112. write "ATM0\13"
  113. matchread 30
  114. jump 101
  115. !
  116. ! Modem ready, wait for a call or originate a call
  117. !
  118. @LABEL 13
  119. ifANSWER 32
  120. !
  121. !
  122. ! ---- Originating a call ----
  123. ! For normal dialing, jump to 19.  Otherwise, manual dial jumps to 15, blind dial
  124. !    jumps to 17.
  125. ! Varstring 6, dialing mode:
  126. !    = 0, normal dialing
  127. !    = 1, blind dialing
  128. !    = 2, manual dialing
  129. ifstr 6 17 "1"
  130. ifstr 6 15 "2"
  131. jump 19
  132. !
  133. @LABEL 15
  134. ! Display ASK dialog with message.  Goto label 107 if dialog canceled.
  135. ASK 2 "Pick up the phone & dial ^1.  Hit OK when the phone rings, then hangup." 107
  136. note "Manual dialing initiated" 3
  137. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy, D to dial, \^ generates data tone
  138. !write "ATX1D\^\13"                            (••••• Original Wallstreet script)
  139. write "ATX1S6=4D\13"
  140. jump 32
  141. !
  142. @LABEL 17
  143. note "Dialing without tone" 3
  144. matchclr
  145. matchstr 1 19 "OK\13\10"
  146. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy for blind dialing.
  147. !write "ATX1\13"                            (••••• Original Wallstreet script)
  148. write "ATX1S6=4\13"
  149. matchread 30
  150. jump 101
  151. !
  152. !
  153. @LABEL 19
  154. ! This is where we break up long dialstrings
  155. ! Display the full dialstring contained in Varstring 1
  156. note "Dialing ^1" 3
  157. !
  158. ! Varstrings 7, 8 and 9, contain dialstring fragments
  159. !    Long phone numbers may have been split into smaller groups
  160. !    so that the modem can use them
  161. ! Check to see whether these fragments exist.  If they do, dial them one at a time.
  162. ! If not, jump ahead and dial the remaining phone number.  Use the data tone.
  163. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  164. ! Varstring 8 == blank (dialstring in varstring 7)
  165. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  166. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  167. ! \^ is added to the dialstring to force the modem to generate a data tone
  168. ifstr 8 27 " "
  169. ifstr 9 24 " "
  170. !
  171. !  Write dialstring in varstrings 7, 8 & 9
  172. matchclr
  173. matchstr 1 21 "OK\13\10"
  174. write "ATD^3^7;\13"
  175. matchread 400
  176. jump 101
  177. @LABEL 21
  178. matchclr
  179. matchstr 1 22 "OK\13\10"
  180. write "ATD^3^8;\13"
  181. matchread 400
  182. jump 101
  183. @LABEL 22
  184. write "ATD^3^9\13"
  185. jump 32
  186. !
  187. !
  188. @LABEL 24
  189. !  Write dialstring in varstrings 7 & 8
  190. matchclr
  191. matchstr 1 25 "OK\13\10"
  192. write "ATD^3^7;\13"
  193. matchread 400
  194. jump 101
  195. @LABEL 25
  196. write "ATD^3^8\13"
  197. jump 32
  198. !
  199. @LABEL 27
  200. !  Write dialstring in varstring 7
  201. write "ATD^3^7\13"
  202. !
  203. !
  204. !    ---- Connection response ----
  205. !
  206. ! The following section will parse modem responses of five types:
  207. !   1) PROTOCOL: xxx, COMPRESSION: xxx, CONNECT xxx
  208. !   2) CONNECT xxx/ARQ/V42
  209. !   3) Standard incoming and outgoing call progress messages
  210. !   4) FAX/DATA discrimination messages
  211. !   5) International DELAYED & BLACKLISTED restrictions.
  212. !
  213. @LABEL 32
  214. matchclr
  215. matchstr  1 88  "RING\13\10"
  216. matchstr  2 102 "NO DIALTONE\13\10"
  217. matchstr  3 103 "NO CARRIER"
  218. matchstr  4 103 "ERROR\13\10"
  219. matchstr  5 104 "BUSY\13\10"
  220. matchstr  6 105 "NO ANSWER\13\10"
  221. matchstr  7 33  "CONNECT "
  222. matchstr  8 32  "CARRIER"
  223. matchstr  9 40  "CONNECT\13\10"
  224. matchstr 10 82  "PROTOCOL: LAP"
  225. matchstr 11 82  "PROTOCOL: MNP"
  226. matchstr 12 82  "PROTOCOL: ALT"
  227. matchstr 13 84  "COMPRESSION: V"
  228. matchstr 14 84  "COMPRESSION: MNP5"
  229. matchstr 15 84  "COMPRESSION: CLASS"
  230. matchstr 16 110  "DELAYED  "
  231. matchstr 17 111  "BLACKLISTED\13\10"
  232. matchread 700
  233. ifANSWER 32
  234. jump 101
  235. !
  236. @LABEL 33
  237. matchclr
  238.  
  239. matchstr  1 39 "2400\13"
  240. matchstr  2 39 "2400/"
  241. matchstr  3 40 "4800\13"
  242. matchstr  4 40 "4800/"
  243. matchstr  5 41 "7200"
  244. matchstr  6 42 "9600"
  245. matchstr  7 43 "12000"
  246. matchstr  8 44 "14400"
  247. matchstr  9 45 "16800"
  248. matchstr 10 46 "19200"
  249. matchstr 11 47 "21600"
  250. matchstr 12 48 "24000"
  251. matchstr 13 49 "26400"
  252. matchstr 14 50 "28800"
  253. matchstr 15 51 "29333"
  254. matchstr 16 52 "30667"
  255. matchstr 17 53 "31200"
  256. matchstr 18 54 "32000"
  257. matchstr 19 55 "33333"
  258. matchstr 20 56 "33600"
  259. matchstr 21 57 "34000"
  260. matchstr 22 58 "34667"
  261. matchstr 23 59 "36000"
  262. matchstr 24 60 "37333"
  263. matchstr 25 61 "38000"
  264. matchstr 26 62 "38667"
  265. matchstr 27 63 "40000"
  266. matchstr 28 64 "41333"
  267. matchstr 29 65 "42000"
  268. matchstr 30 66 "42667"
  269. matchstr 31 67 "44000"
  270. matchstr 32 68 "45333"
  271. matchstr 33 69 "46000"
  272. matchstr 34 70 "46667"
  273. matchstr 35 71 "48000"
  274. matchstr 36 72 "49333"
  275. matchstr 37 73 "50000"
  276. matchstr 38 74 "50667"
  277. matchstr 39 75 "52000"
  278. matchstr 40 76 "53333"
  279. matchstr 41 77 "54000"
  280. matchstr 42 78 "54667"
  281. matchstr 43 79 "56000"
  282. matchread 30
  283. jump 80
  284. !
  285. ! -- Connection rates --
  286. ! CommunicatingAt informs ARA of the raw modem to modem
  287. ! connection speed.
  288. !
  289. @LABEL 39
  290. note "Communicating at 2400 bps." 2
  291. CommunicatingAt 2400
  292. jump 81
  293. !
  294. @LABEL 40
  295. note "Communicating at 4800 bps." 2
  296. CommunicatingAt 4800
  297. jump 81
  298. !
  299. @LABEL 41
  300. note "Communicating at 7200 bps." 2
  301. CommunicatingAt 7200
  302. jump 81
  303. !
  304. @LABEL 42
  305. note "Communicating at 9600 bps." 2
  306. CommunicatingAt 9600
  307. jump 81
  308. !
  309. @LABEL 43
  310. note "Communicating at 12400 bps." 2
  311. CommunicatingAt 12400
  312. jump 81
  313. !
  314. @LABEL 44
  315. note "Communicating at 14400 bps." 2
  316. CommunicatingAt 14400
  317. jump 81
  318. !
  319. @LABEL 45
  320. note "Communicating at 16800 bps." 2
  321. CommunicatingAt 16800
  322. jump 81
  323. !
  324. @LABEL 46
  325. note "Communicating at 19200 bps." 2
  326. CommunicatingAt 19200
  327. jump 81
  328. !
  329. @LABEL 47
  330. note "Communicating at 21600 bps." 2
  331. CommunicatingAt 21600
  332. jump 81
  333. !
  334. @LABEL 48
  335. note "Communicating at 24000 bps." 2
  336. CommunicatingAt 24000
  337. jump 81
  338. !
  339. @LABEL 49
  340. note "Communicating at 26400 bps." 2
  341. CommunicatingAt 26400
  342. jump 81
  343. !
  344. @LABEL 50
  345. note "Communicating at 28800 bps." 2
  346. CommunicatingAt 28800
  347. jump 81
  348. !
  349. @LABEL 51
  350. note "Communicating at 29333 bps." 2
  351. CommunicatingAt 29333
  352. jump 81
  353. !
  354. @LABEL 52
  355. note "Communicating at 30667 bps." 2
  356. CommunicatingAt 30667
  357. jump 81
  358. !
  359. @LABEL 53
  360. note "Communicating at 31200 bps." 2
  361. CommunicatingAt 31200
  362. jump 81
  363. !
  364. @LABEL 54
  365. note "Communicating at 32000 bps." 2
  366. CommunicatingAt 32000
  367. jump 81
  368. !
  369. @LABEL 55
  370. note "Communicating at 33333 bps." 2
  371. CommunicatingAt 33333
  372. jump 81
  373. !
  374. @LABEL 56
  375. note "Communicating at 33600 bps." 2
  376. CommunicatingAt 33600
  377. jump 81
  378. !
  379. @LABEL 57
  380. note "Communicating at 34000 bps." 2
  381. CommunicatingAt 34000
  382. jump 81
  383. !
  384. @LABEL 58
  385. note "Communicating at 34667 bps." 2
  386. CommunicatingAt 34667
  387. jump 81
  388. !
  389. @LABEL 59
  390. note "Communicating at 36000 bps." 2
  391. CommunicatingAt 36000
  392. jump 81
  393. !
  394. @LABEL 60
  395. note "Communicating at 37333 bps." 2
  396. CommunicatingAt 37333
  397. jump 81
  398. !
  399. @LABEL 61
  400. note "Communicating at 38000 bps." 2
  401. CommunicatingAt 38000
  402. jump 81
  403. !
  404. @LABEL 62
  405. note "Communicating at 38667 bps." 2
  406. CommunicatingAt 38667
  407. jump 81
  408. !
  409. @LABEL 63
  410. note "Communicating at 40000 bps." 2
  411. CommunicatingAt 40000
  412. jump 81
  413. !
  414. @LABEL 64
  415. note "Communicating at 41333 bps." 2
  416. CommunicatingAt 41333
  417. jump 81
  418. !
  419. @LABEL 65
  420. note "Communicating at 42000 bps." 2
  421. CommunicatingAt 42000
  422. jump 81
  423. !
  424. @LABEL 66
  425. note "Communicating at 42667 bps." 2
  426. CommunicatingAt 42667
  427. jump 81
  428. !
  429. @LABEL 67
  430. note "Communicating at 44000 bps." 2
  431. CommunicatingAt 44000
  432. jump 81
  433. !
  434. @LABEL 68
  435. note "Communicating at 45333 bps." 2
  436. CommunicatingAt 45333
  437. jump 81
  438. !
  439. @LABEL 69
  440. note "Communicating at 46000 bps." 2
  441. CommunicatingAt 46000
  442. jump 81
  443. !
  444. @LABEL 70
  445. note "Communicating at 46667 bps." 2
  446. CommunicatingAt 46667
  447. jump 81
  448. !
  449. @LABEL 71
  450. note "Communicating at 48000 bps." 2
  451. CommunicatingAt 48000
  452. jump 81
  453. !
  454. @LABEL 72
  455. note "Communicating at 49333 bps." 2
  456. CommunicatingAt 49333
  457. jump 81
  458. !
  459. @LABEL 73
  460. note "Communicating at 50000 bps." 2
  461. CommunicatingAt 50000
  462. jump 81
  463. !
  464. @LABEL 74
  465. note "Communicating at 50667 bps." 2
  466. CommunicatingAt 50667
  467. jump 81
  468. !
  469. @LABEL 75
  470. note "Communicating at 52000 bps." 2
  471. CommunicatingAt 52000
  472. jump 81
  473. !
  474. @LABEL 76
  475. note "Communicating at 53333 bps." 2
  476. CommunicatingAt 53333
  477. jump 81
  478. !
  479. @LABEL 77
  480. note "Communicating at 54000 bps." 2
  481. CommunicatingAt 54000
  482. jump 81
  483. !
  484. @LABEL 78
  485. note "Communicating at 54667 bps." 2
  486. CommunicatingAt 54667
  487. jump 81
  488. !
  489. @LABEL 79
  490. note "Communicating at 56000 bps." 2
  491. CommunicatingAt 56000
  492. jump 81
  493. !
  494. @LABEL 80
  495. note "Communicating at an unknown rate." 2
  496. jump 81
  497. !
  498. ! Look for reliablilty and compression results 
  499. ! at the end of the connect result.
  500. !
  501. @LABEL 81
  502. matchclr
  503. matchstr  1 83 "LAPM"
  504. matchstr  2 83 "REL"
  505. matchstr  3 83 "ARQ"
  506. matchstr  4 85 "COMP/"
  507. matchstr  5 85 "COMP\13"
  508. matchstr  6 83 "V42/"
  509. matchstr  7 83 "V42\13"
  510. matchstr  8 85 "V42BIS"
  511. matchstr  9 85 "V42bis"
  512. matchstr 10 83 "MNP\13"
  513. matchstr 11 85 "MNP5"
  514. matchstr 12 86 "\10"
  515. matchread 30
  516. jump 86
  517. ! -- Modem error correction link negotiation --
  518. ! Userhook 2 informs ARA that a modem-to-modem error
  519. ! correcting protocol has been negotiated
  520. !
  521. !
  522. @LABEL 82
  523. note "Modem Reliable Link Established." 2
  524. userhook 2
  525. jump 32
  526. !
  527. @LABEL 83
  528. note "Modem Reliable Link Established." 2
  529. userhook 2
  530. jump 81
  531. !
  532. ! -- Compression negotiation --
  533. ! Userhook 3 informs ARA that a modem-to-modem compression
  534. ! protocol has been negotiated
  535. !
  536. @LABEL 84
  537. note "Modem Compression Established." 2
  538. userhook 3
  539. jump 32
  540. !
  541. @LABEL 85
  542. note "Modem Compression Established." 2
  543. userhook 3
  544. jump 81
  545. !
  546. !
  547. ! -- Normal exit after "CONNECT" --
  548. !
  549. !  This modem has been setup to do CTS handshaking,
  550. !  and we assume that a CTS handshaking cable is being used.
  551. !
  552. @LABEL 86
  553. ! Turn on CTS handshaking.
  554. HSReset 0 1 0 0 0 0
  555. !
  556. ifANSWER 87
  557. pause 30
  558. @LABEL 87
  559. exit 0
  560. !
  561. !
  562. ! ---- Answer calls ----
  563. !
  564. ! A RING results from the modem in ANSWERING mode
  565. ! claims the serial port and answering the phone
  566. !
  567. @LABEL 88
  568. ifORIGINATE 32
  569. userhook 1
  570. note "Answering phone..." 2
  571. write "ATA\13"
  572. jump 32
  573. !  
  574. ! ---- Hang up and reset modem ----
  575. !
  576. @HANGUP 
  577. @LABEL 90 
  578. settries 0
  579. HSReset 0 0 0 0 0 0
  580. !
  581. @LABEL 91
  582. ! Try to get control of the modem
  583. !pause 1
  584. !write "+++"
  585. !pause 1 
  586. !matchclr
  587. !matchstr 1 96 "OK\13\10"
  588. !pause 15
  589. !write "AT\13"
  590. !matchread 30
  591. !
  592. @LABEL 94
  593. ! Force a hangup                            (••••• Different from Original Wallstreet script)
  594. matchclr
  595. matchstr 1 98 "NO CARRIER\13\10"
  596. matchstr 2 98 "OK\13\10"
  597. matchstr 3 98 "ERROR\13\10"
  598. matchstr 4 98 "0\13\10"
  599. matchstr 5 98 "DELAYED"
  600. matchstr 6 98 "BLACKLISTED"
  601. write "\28\28\28ATH\13"
  602. ! \28 = FS, the replacement escape character
  603. matchread 30
  604. !
  605. ! Try again to get control of the modem by toggling DTR
  606. !
  607. @LABEL 95
  608. DTRClear
  609. Pause 2
  610. DTRSet
  611. flush
  612. !
  613. !
  614. ! Try the hangup sequence three times otherwise declare an error
  615. inctries
  616. iftries 3 101
  617. jump 91
  618. !
  619. @LABEL 96
  620. !
  621. ! Pause between data and command mode
  622. !
  623. pause 50
  624. jump 94
  625. !
  626. !
  627. @LABEL 97
  628. ! AT&F resulted in Error, try again using AT&F
  629. pause 15
  630. matchclr
  631. matchstr 1 99 "OK\13\10"
  632. write "AT&F\13"
  633. matchread 30
  634. jump 101
  635. !
  636. @LABEL 98
  637. ! Got control of the modem.  Recall the factory settings.  If it fails, jump 97.
  638. pause 15
  639. matchclr
  640. matchstr 1 99 "OK\13\10"
  641. matchstr 2 97 "ERROR\13\10"
  642. write "AT&F\13"
  643. matchread 30
  644. jump 101
  645. !
  646. @LABEL 99
  647. exit 0
  648. !
  649. ! ---- Error messages -----
  650. !
  651. ! Modem Not Responding
  652. @LABEL 101
  653. write "AT&F\13"
  654. pause 10
  655. exit -6019
  656. !
  657. ! No Dial Tone
  658. @LABEL 102
  659. matchstr 1 121 "OK\13\10"
  660. write "AT&F\13"
  661. matchread 30
  662. @LABEL 121
  663. exit -6020
  664. !
  665. ! No Carrier or Error
  666. @LABEL 103
  667. matchstr 1 122 "OK\13\10"
  668. write "AT&F\13"
  669. matchread 30
  670. @LABEL 122
  671. exit -6021
  672. !
  673. ! Busy
  674. @LABEL 104
  675. matchstr 1 123 "OK\13\10"
  676. write "AT&F\13"
  677. matchread 30
  678. @LABEL 123
  679. exit -6022
  680. !
  681. ! No Answer
  682. @LABEL 105
  683. matchstr 1 124 "OK\13\10"
  684. write "AT&F\13"
  685. matchread 30
  686. @LABEL 124
  687. exit -6023
  688. !
  689. ! User Cancellation
  690. @LABEL 107
  691. matchstr 1 108 "OK\13\10"
  692. write "AT&F\13"
  693. matchread 30
  694. @LABEL 108
  695. exit -6008
  696. !
  697. ! ---- DELAYED and BLACKLISTED functions ----
  698. @LABEL 110
  699. matchclr
  700. matchstr  1 119 "00:00:0"
  701. matchstr  2 118 "00:00:1"
  702. matchstr  3 117 "00:00:2"
  703. matchstr  4 116 "00:00:3"
  704. matchstr  5 115 "00:00:4"
  705. matchstr  6 114 "00:00:5"
  706. matchstr  7 113 "00:01:"
  707. matchstr  8 112 "00:02:"
  708. matchread 30
  709. ! (modified on 10/5/98) - Added the display in case delayed for more than 3 minutes exit with User Cancellation
  710. note "'DELAYED'. For more than 3 minutes."
  711. pause 20
  712. exit -6008
  713. !
  714. !The number is 'DELAYED' more than 3 minutes.  Exit the script telling the user to wait or reset his modem.
  715. !exit -6019 "\13The modem responds 'DELAYED':\13(Cannot redial this number right now.)\13To try again immediately, turn modem OFF and ON before proceeding."
  716. @LABEL 111
  717. !
  718. ! (modified on 10/5/98) - Added the display of the right string and exit with User Cancellation
  719. note "'BLACKLISTED'."
  720. pause 20
  721. exit -6008
  722. !
  723. !The number is 'BLACKLISTED'.  Exit the script, telling the user to reset his modem.
  724. !exit -6019 "\13The modem responds 'BLACKLISTED':\13(Cannot redial this number again.)\13Double-check the number, then turn your modem OFF and ON before proceeding."
  725. !
  726. @LABEL 112
  727. note "'DELAYED'. Redialing in 3 minutes..."
  728. pause 600
  729. @LABEL 113
  730. note "'DELAYED'. Redialing in 2 minutes..."
  731. pause 600
  732. @LABEL 114
  733. note "'DELAYED'. Redialing in 1 minute... "
  734. pause 100
  735. @LABEL 115
  736. note "'DELAYED'. Redialing in 50 seconds..."
  737. pause 100
  738. @LABEL 116
  739. note "'DELAYED'. Redialing in 40 seconds..."
  740. pause 100
  741. @LABEL 117
  742. note "'DELAYED'. Redialing in 30 seconds..."
  743. pause 100
  744. @LABEL 118
  745. note "'DELAYED'. Redialing in 20 seconds..."
  746. pause 100
  747. @LABEL 119
  748. note "'DELAYED'. Redialing in 10 seconds..."
  749. pause 100
  750. jump 1
  751. ! Labels 121-128 are reserved for emergency hacks.
  752. !
  753.